Methods and systems for transmitting digital video over communication lines are known in the art. Compressed digital video is largely becoming the preferred medium to transmit video to viewers everywhere. The Motion Pictures Expert Group (MPEG) specifications are standardized methods for compressing and transmitting video. In general, MPEG is used today for transmitting video over terrestrial, wireless, satellite and cable communication channels and also for storing digital video. The MPEG specification used for transmitting MPEG Video is called MPEG Transport. According to MPEG Transport, the transmitted data is packed in Transport packets, each of a fixed size. This specification was especially designed for specific demands of multimedia, and particularly of video. These demands include strict timing issues.
The importance of timing is apparent in many different aspects. One such aspect is the requirement for synchronizing between audio and video streams at the receiver end. Another, even more important issue is the requirement for the receiver to decode and display data at substantially fixed rates. For example, a television set in the United States is required to present video frames at a rate of 29.97 per second. For these reasons, the receiver requires a buffer in order to regulate the timing of the different presentation units (such as video frames). If the receiver and transmitter clocks operate at different rates, a buffer overflow or underflow may occur at some time. Such a rate deviation shall either cause the receiver to discard and lose data in the case of overflow or to have nothing to present to the viewer in the case of underflow. Both cases are unacceptable. Note that this condition occurs even if the transmitter notifies the receiver what is the stream's bit-rate.
The problem stems from the fact that if the clock rates are different, the transmitter and receiver don't agree on the measurement of time and therefore can't agree on the measurement of rates. The MPEG-Transport specifications allow for a difference of ±30 ppm between any two clocks.
One of the methods, known in the art for operating under these strict conditions utilizes a Phase Locked Loop (PLL) unit, at the receiver end, which constantly attempts to emulate the clock of the transmitter. According to this method, the transmitter transmits timing information to the receiver. The PLL unit at the receiver end attempts to lock the receiver clock to operate in synchronicity with the clock of the transmitter, using timing information (PCR), embedded in the MPEG packets. The MPEG specification provides an example for this architecture. This method imposes a limitation whereby, the timing information sent by the transmitter must arrive at the receiver at exact predefined points in time. A deviation from these exact times (i.e., the communication channel was faster or slower than what it was supposed to have been) is called a jitter. Systems using this method are characterized by a threshold, set for the acceptable jitter level. Usually the smaller the jitter is, the faster the receiver can lock its clock to the transmitter clock. In the case of extremely large jitter, the receiver may be unable to lock to the transmitter clock. In the MPEG Transport specification, the allowable jitter level is no more than 500 nanoseconds.
While MPEG Transport specification enables the synchronization of the receiver, it requires a predictable, preferably fixed, communication link between the transmitter and receiver.
It is noted that MPEG Transport specification does not allow loss of packets. Hence, transmitting MPEG transport over conventional communication systems such as Internet Protocol (IP), requires external adjusting intervention, so as to comply with the above requirements. One such method for adjusting a conventional communication system is by using Real Time Protocol (RTP) over UDP over IP. RTP protocol adds timing information to the transmitted RTP packets. It will be appreciated by those skilled in the art that this method adds significant overhead to the transmitted data and in addition makes the transmitted data complicated and cumbersome. It is noted that the RTP timing information is not necessarily the same as the MPEG timing information, thus complicating the operation of adjusting the clock.
Reference is now made to FIG. 1, which is a schematic illustration of a system for transmitting MPEG transport data over an Ethernet communication channel, which is known in the art. System 10 includes an MPEG transport source 12, an Ethernet encapsulator 14, a transmitter end Ethernet communication interface 16, a receiver end Ethernet communication interface 20, an Ethernet decapsulator 22, a first in first out (FIFO) buffer 24, a retriever 30 and a PLL unit 28.
Ethernet encapsulator 14 is connected to MPEG transport source 12 and to transmitter end Ethernet communication interface 16. Ethernet decapsulator 22 is connected to receiver end Ethernet communication interface 20 and FIFO buffer 24. Retriever 30 is connected to FIFO buffer 24 and to PLL unit 28. PLL unit 28 is further connected to Ethernet decapsulator 22. Transmitter end Ethernet communication interface 16 is connected to receiver end Ethernet communication interface 20 via Ethernet communication line 18.
Ethernet encapsulator 14 receives MPEG transport packages from MPEG transport source 12, encapsulates them in Ethernet packets and provides them to transmitter end Ethernet communication interface 16. Transmitter end Ethernet interface 16 transmits the Ethernet packets to receiver end Ethernet communication interface 20 via Ethernet communication line 18. Receiver end Ethernet communication interface 20 provides the received Ethernet packets to Ethernet decapsulator 22, which in turn extracts the MPEG transport packets embedded therein and stores them in FIFO buffer 24. Retriever 30 retrieves MPEG transport packets from FIFO buffer 24 at a rate, which is determined by PLL unit 28. PLL unit 28 keeps FIFO buffer 24 approximately half full by adjusting the output rate in response to changes in buffer fullness, so that the amount of jitter-smoothing achieved depends on the size of the FIFO and the characteristics of the PLL.
System 10 utilizes PLL unit 28 to empty buffer 24. Ethernet decapsulator 22 provides the received timing MPEG Transport packets (i.e., PCR packets) to PLL unit 28, with the exact time that each of these packets has arrived. The arrival times of these PCR packets, being transmitted over an Ethernet communication channel, are likely to exhibit significant jitters over the desired arrival times. It is noted that these large jitters usually cause PLL unit 28 to decrease its performance drastically. For example, when a PLL unit designed for predetermined maximal jitter levels, encounters higher jitter levels, it shall probably malfunction (i.e., the PLL is designed to converge at the predetermined maximal jitter levels and it most probably shall not converge at higher jitter levels).